/****************************************************
*         FileName : keyword.h
*         Function : 存储关键字符号等集合
*         Author : TonyZhu
*         Time : 2011.04.25 
*****************************************************/


#define NOTE '#'
#define NOTE_LINE "##"

#define STATE_NOTE -1
#define STATE_BLOCK_NOTE 1
#define STATE_LINE_NOTE 2
#define STATE_BLANK 3
#define STATE_STRING 4
#define STATE_NORMAL 0

#define MAX_IDENTIFER_LINE 16
#define MAXBUFFER 256
#define NUMOFKEYWORD 20
#define NUMOFSEPARATOR 15
#define NUMOFOPERATOR 15

#define NUM_TYPE_HEX  1
#define NUM_TYPE_OCT  2
#define NUM_TYPE_DEC  3

char extension_name[] = ".gda";
char *_id = "ID";

char *_keyword[] = {"case", "const", "static", "do", "else", "file", "for", "goto", "if", "void", "while", "int", "real","char" "string","break","continue", "return", "class", "switch"};
char *_keywordDefine[] = {"CASE", "CONST", "STATIC", "DO",  "ELSE",  "FILE", "FOR", "GOTO", "IF",  "VOID", "WHILE", "INT", "REAL", "CHAR", "STRING","BREAK", "CONTINUE", "RETURN", "CLASS", "SWITCH"};


char *_operator[] = {"+", "-", "*", "/", "=", "<", ">", "<=", ">=", "==", "!=", "%", "&&", "||", "~"};
char *_operatorDefine[] = {"PLUS", "MINUS", "MULTI", "RDIV", "ASSIGN", "LT", "GT", "LE", "GE", "EQ","NEQ","MOD","AND","OR","NOT"};

char *_separator[] = {"(", ")", ",", ".", ":", ";", "[", "]", "#", "?" ,"\\","'","\"","{","}"};
char *_separatorDefine[] = { "LR_BRAC", "RR_BRAC", "COMMA", "PERIOD", "COLON", "SEMIC","LS_BRAC", "RS_BRAC", "CO_MARK", "Q_MARK","TRASFER","QUOTA","D_QUOTA", "RB_BRAC","LB_BRAC"};


